package com.pg.agent.manager.model.enity;

import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;

import java.util.Date;

/**
 * sop对象
 *
 * @author admin
 * @date 2023-11-09 20:02:07
 */
@Data
@TableName("agent_version")
public class AgentVersion {

    /**
     * 主键
     */
    @TableId(value = "micro_app_version_id", type = IdType.AUTO)
    private Long AgentVersionId;

    /**
     * 微应用id
     */
    @TableField("micro_app_id")
    private Long AgentId;

    /**
     * 版本号
     */
    @TableField("version")
    private String version;

    /**
     * SOP模式，0：对话模式，1：任务模式
     */
    @TableField("sop_type")
    private Integer sopType;

    /**
     * 环境提示词
     */
    @TableField("environment_prompt")
    private String environmentPrompt;
    /**
     * state执行顺序类型，0：顺序；1：随机；2：规则；。。。
     */
    @TableField("state_mode")
    private Integer stateMode;

    /**
     * 提示词ID
     */
    @TableField("prompt_id")
    private Long promptId;

    /**
     * 描述
     */
    @TableField("description")
    private String description;

    /**
     * 大模型组件Id
     */
    @TableField("component_id")
    private Long componentId;

    /**
     * 上架状态 1.上架，0.下架
     */
    @TableField("status")
    private Integer status;

    /**
     * 是否删除0，正常，1：删除
     */
    @TableField("delete_status")
    private Integer deleteStatus;

    /**
     * 创建者
     */
    @TableField(value = "create_by", fill = FieldFill.INSERT_UPDATE)
    private String createBy;

    /**
     * 创建时间
     */
    @TableField(value = "create_date", fill = FieldFill.INSERT)
    private Date createDate;

    /**
     * 更新者
     */
    @TableField(value = "update_by", fill = FieldFill.INSERT_UPDATE)
    private String updateBy;

    /**
     * 更新时间
     */
    @TableField(value = "update_date", fill = FieldFill.INSERT_UPDATE)
    private Date updateDate;

    /**
     * 所属主账号id
     */
    @TableField(value = "belong_id", fill = FieldFill.INSERT)
    private Long belongId;

    /**
     * 创建者id
     */
    @TableField(value = "create_by_id", fill = FieldFill.INSERT)
    private Long createById;

    /**
     * 修改者id
     */
    @TableField(value = "update_by_id", fill = FieldFill.INSERT_UPDATE)
    private Long updateById;

    @TableField("data")
    private String data;

    @TableField("component_count")
    private Integer componentCount;

    @TableField("agent_count")
    private Integer agentCount;

    @TableField("status_count")
    private Integer statusCount;

    @TableField("config_file")
    private String configFile;

    @TableField("debug_status")
    private Integer debugStatus;
    @TableField("in_param")
    private String inParam;
}
